The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Businesses, both small and large, are growing increasingly more sophisticated in their collection and use of data covering all aspects of all relationships and interactions of the business. Data is collected regarding sales, taxes, expenses, budgets, inventory, employees, contracts, and many other areas. In particular, the quantity and quality of accounting related data has increased especially rapidly in recent years. Broadly speaking, accounting related data is any data relating to money including, but not limited to: employee compensation, sales, sale attribution, employee hierarchies or management structures, targets, goals, bonuses, etc. Accounting data, in particular, receives special scrutiny due to reporting requirements to local or federal governments, employee scrutiny of their paychecks, internal audits, external audits, etc. The enhanced level of scrutiny and reporting requirements effectively impose strict accuracy, documentation, and reproducibility requirements when processing accounting data. This results in long and difficult processing times.
As business increased their data collection, the increases in hardware and on-premises software support costs gave way to a new technology delivery model in which an application service provider hosts applications coupled to data storage units on networked devices that are owned by the application service provider. Using “software as a service” or SaaS, the application service provider's customers, typically business enterprises, connect to the hosted applications via a web browser and enter data via the applications with the expectation that the data entered will be available on-demand whenever needed. The customers typically access the data for various data mining or data aggregation operations required to perform various analytics, such as determining particular trends related to their enterprise's operations. A practical example is analysis of the compensation that is due to employees of an enterprise that uses an incentive compensation plan in which compensation is tied to sales, quotas, products, services and customers, all of which may vary over time. Each different enterprise customer of the application service provider is considered a “tenant” having data that is commingled in a multi-tenant database system using a single shared database, yet subject to security controls that prevent one tenant from viewing or using the data of another tenant; the tenants may be competitors or simply require confidentiality of their data.
In such a system, the application service provider rarely has advanced notice of when a customer may request access to its data; therefore, data entered by customers must be available at all times. Consequently, the application service provider must ensure that data entered by customers is always recorded and stored, and that customers may access that data, on-demand, for later consumption.
A commonly requested feature for accounting applications is the ability to perform prior period adjustment (PPA) and systemically process all prior periods called Prior period processing (PPP). A period is an accounting period having a set amount of time, such as two weeks or a month. Once data has been entered for a period, and the time associated with the period has passed, a single period processing (SPP) is processed to determine, for example, the amount to pay individual employees. Once processed, the period is closed, and a new period is begun. PPA is when a previously closed and completed period is reprocessed, typically in response to data from the closed period changing in a subsequent period. For example, a sales amount may have changed or been entered incorrectly. PPA is very resource and time demanding, as large amounts of data must be accurately stored and processed. This effect is multiplied in a multitenant system, as there are many different tenants, and PPA may result in locking customers out of their data for hours or even days. Improvements in PPA are needed.